<?php

namespace app\api\service;

use app\common\model\Course;
use app\common\model\MaterialFile;

class HelpTaskService
{
    /**
     * 数据类型配置
     * @var array
     */
    protected array $dataTypeConfig = [
        '10' => [
            'name' => '题库', // 名称
            'count' => 50,   // 人数
            'class' => Course::class,   // 人数
            'expire' => 15,   // 有效期
        ],
        '20' => [
            'name' => '资料', // 名称
            'count' => 5, // 人数
            'image' => 'https://file.gaojiufeng.cn/app_img/9d83_49b8e476_49b8e476.png', // 图标
            'class' => MaterialFile::class, // 关联类
            'expire' => 3, // 有效期
        ],
        '30' => [
            'name' => '视频', // 名称
            'count' => 10, // 人数
            'class' => '', // 人数
            'expire' => 15, // 有效期
        ],
        '40' => [
            'name' => '会员', // 名称
            'count' => 30, // 人数
            'class' => '', // 人数
            'expire' => 30, // 有效期
        ],
    ];

    /**
     * getTypeInfo
     * @param int $type
     * @return array
     */
    public function getTypeInfo(int $type): array
    {
        return $this->dataTypeConfig[$type];
    }

    /**
     * getTypeData
     * @param int $id
     * @param int $type
     * @return array
     */
    public function getTypeData(int $id, int $type): array
    {
        $typeInfo = $this->getTypeInfo($type);
        $class = $typeInfo['class'];
        $typeData = app($class)->find($id);
        return $typeData ? $typeData->toArray() : [];
    }
}